#define _CRT_SECURE_NO_WARNINGS 1
#include "heap.h"
int main()
{
	int a[10] = { 8,7,5,3,6,4,2,9,4,89 };
	int n = sizeof(a) / sizeof(a[0]);
	// 降序，建小堆
	// 升序，建大堆
	// 向上调整建堆 O(N*logN)
	/*for (int i = 1; i < n; i++)
	{
		AdjustUp(a, i);
	}*/

	// 向下调整建堆 O(N)
	for (int i = (n - 1 - 1) / 2; i >= 0; i--)
	{
		AdjustDown(a, n, i);
	}

	// O(N*logN)
	int end = n - 1;
	while (end > 0)
	{
		Swap(&a[0], &a[end]);
		AdjustDown(a, end, 0);
		--end;
	}
	return 0;
}
